package cn.edu.zut.internship.entity;


import java.io.Serializable;
import java.util.List;

public class AuthSysMenu implements Serializable {
    /**
     * 菜单ID
     */
    private Long id;
    /**
     * 菜单路径
     */
    private String path;
    /**
     * 菜单名称
     */
    private String menuName;
    /**
     * 菜单对应组件名
     */
    private String component;

    private String redirect;
// 设置菜单是否隐藏（不显示在左边菜单，缺省false）
    private Short hidden;
    /**
     * 设置在一级菜单上，是否总是显示，true表示总是显示,如果为false，一级菜单只会在有多个子菜单情况下才显示
     */
    private Short alwaysShow;
    /**
     * 父节点Id
     */
    private Long parentId;
    /**
     * 菜单标题名称
     */
    private String title;
    /**
     * 节点图标
     */
    private String icon;
    /**
     *页面是否不要缓存，缺省为false
     */
    private Short noCache;
    /**
     * 标签页面是否总是显示（不能关闭）
     */
    private Short affix;
    /**
     * 缺省true，是否以面包屑显示页面
     */
    private Short breadcrumb;
    /**
     * 在左边菜单上高亮显示
     */
    private String activeMenu;
    /**
     * 允许路由的角色列表
     */
    private List<Long> roles;

    /**
     * 节点详情
     */
    private AuthSysMenuMeta meta;
    /**
     * 子节点
     */
    private List<AuthSysMenu> children;

    private static final long serialVersionUID = 1L;

    public List<Long> getRoles() {
        return roles;
    }

    public void setRoles(List<Long> roles) {
        this.roles = roles;
    }

    public AuthSysMenuMeta getMeta() {
        return meta;
    }

    public void setMeta(AuthSysMenuMeta meta) {
        this.meta = meta;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path == null ? null : path.trim();
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName == null ? null : menuName.trim();
    }

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component == null ? null : component.trim();
    }

    public String getRedirect() {
        return redirect;
    }

    public void setRedirect(String redirect) {
        this.redirect = redirect == null ? null : redirect.trim();
    }

    public Short getHidden() {
        return hidden;
    }

    public void setHidden(Short hidden) {
        this.hidden = hidden;
    }

    public Short getAlwaysShow() {
        return alwaysShow;
    }

    public void setAlwaysShow(Short alwaysShow) {
        this.alwaysShow = alwaysShow;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public List<AuthSysMenu> getChildren() {
        return children;
    }

    public void setChildren(List<AuthSysMenu> children) {
        this.children = children;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Short getNoCache() {
        return noCache;
    }

    public void setNoCache(Short noCache) {
        this.noCache = noCache;
    }

    public Short getAffix() {
        return affix;
    }

    public void setAffix(Short affix) {
        this.affix = affix;
    }

    public Short getBreadcrumb() {
        return breadcrumb;
    }

    public void setBreadcrumb(Short breadcrumb) {
        this.breadcrumb = breadcrumb;
    }

    public String getActiveMenu() {
        return activeMenu;
    }

    public void setActiveMenu(String activeMenu) {
        this.activeMenu = activeMenu;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }
}